home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / pingpong.inc < prev    next >
Text File  |  2005-03-31  |  937b  |  39 lines

  1. # -*- Fundamental -*-
  2. # (C) Michel Arboi 2003
  3. #
  4.  
  5. # "ping pong" is possible with any service. However, it is really dangerous
  6. # against chargen or echo. Some "simple services" do not answer if the
  7. # source port is privileged, thus preventing the exploitation.
  8. function udp_ping_pong(port, data, answer)
  9. {
  10.   local_var    s, r1, r2;
  11.  
  12.   if (!port || ! get_udp_port_state(port)) return 0;
  13.  
  14.   if (! answer)  # or isnull(answer)?
  15.   {
  16.     s = open_sock_udp(port);
  17.     if (!s)  return 0;
  18.     send(socket: s, data: data);
  19.     r1 = recv(socket: s, length: 1024);
  20.     close(s);
  21.   }
  22.   else
  23.     r1 = answer;
  24.  
  25.   if (! r1) return 0;    # Cannot test
  26.  
  27.   s = open_priv_sock_udp(dport: port);
  28.   if (!s)  return 0;
  29.   send(socket: s, data: data);
  30.   r2 = recv(socket: s, length: 1024);
  31.   close(s);
  32.   if (! r2) return 0;    # Not vulnerable
  33.   #display("udp_ping_pong: port=", port, " - the service answers only to non privileged sockets\n");
  34.   return 1;    
  35. }
  36.